#pragma once

#include <vector>
#include <map>
#include "yadosMesh.h"
#include "element.h"
#include "meshType.h"
#include <iostream>
#include "deformableObject.h"
#include "mklDirectSparseSolver.h"

namespace MeshUtils {

class BaryUtils
{
	public:
		static void computeBarycentricCoordinates(YadosMesh& mesh, Yados::Fem::DeformableObject& object, std::vector<MeshUtils::BaryCoord>& baryCoords);
		static void computeBarycentricCoordinates(std::vector<Yados::Fem::Node*> fineNodesList, std::vector<Yados::Fem::Node*> nodesList, std::vector<Yados::Fem::Element*>& eltsList, std::vector<MeshUtils::BaryCoord>& baryCoords);
};
}//namespace